﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// Reviewed
#pragma once
#include "NdbDataSchema.h"

namespace gcmp
{
    /// \brief 参照平面项目参照类型
    /// 弱参照和强参照在项目中作为构件实例的可捕捉的边界；
    ///   非参照在项目中不可捕捉；
    ///   强参照的捕捉优先级高于弱参照；
    ///   除了非参照与弱参照，其余参照与强参照捕捉优先级一致；
    ///   在项目中对特定参照平面进行尺寸标注后，切换族实例时，尺寸标注依然在（前提是切换的新族实例也有此特定参照平面）
    ///   前后中心、左右中心、上下中心为构件中默认的三个参照平面
    ///   前后中心、左右中心、上下中心、前、后、左、右、顶、底这几个参照平面在构件中只能有一个，
    ///   当设置第二个同种特定参照平面时应提示有重复并要求客户做出是否更替的选择
    ///
    SERIALIZABLE_ENUM_CLASS(ProjectReferenceTypeOfReferencePlane)
    {
        NoReference = 0,  ///< 非参照
        WeakReference, ///< 弱参照
        StrongReference, ///< 强参照
        CenterOfFrontBack, ///< 前后中心
        CenterOfLeftRight, ///< 左右中心
        CenterOfTopBottom, ///< 上下中心
        Front, ///< 前
        Back, ///< 后
        Left, ///< 左
        Right, ///< 右
        Top, ///< 顶
        Bottom, ///< 底
    };
}